草庐IT

ios - 修改常量值

全部标签

ruby-on-rails - 未初始化的常量设计 RSPEC

我正在使用带有RSpec和Capybara的Rails4应用程序。我的gemfile看起来像:source'https://rubygems.org'gem'rails','4.0.0'gem'pg'gem'devise'gem'sass-rails','~>4.0.0'gem'uglifier','>=1.3.0'gem'coffee-rails','~>4.0.0'gem'jquery-rails'gem'jquery-turbolinks'gem'turbolinks'gem"rspec-rails",:group=>[:test,:development]group:testd

ruby - 是否有可能缩小 ruby 常量查找

我有一个模块,其中包含名为String的类(以及其他类。)我需要按名称查找该类,如果没有这样的类,则优雅地回退。moduleMod1moduleStringendendMod1.const_get'String'#⇒Mod1::StringKernel.const_get'::Mod1::String'#⇒Mod1::String到目前为止,还不错。当我尝试查找不存在的类时,我预计会收到NameError,这很好。问题是如果在全局命名空间中存在一个具有给定名称的类,它将被返回:Mod1.const_get'Fixnum'#⇒Fixnum我明白其中的原因,但我的问题是:是否有现成的方法仅

ruby-on-rails - 如何仅修改内存中的 zip 文件?

我有一个Ruby应用程序,我需要修改现有的zip文件。我想在内存中构建zip文件并流回字节,而无需将文件写入文件系统。如果我最终在Heroku上托管它,我认为我无法写入文件系统。有谁知道这样做的方法吗?我看了Zip::ZipFile但看起来它总是想写入文件系统。我想“基于java实现”我将能够只获取压缩文件的字节,这可以在java中完成,但我看不到这样做的方法。编辑:我要问的与此基本相同,但针对Ruby而不是Python:Functiontocreatein-memoryzipfileandreturnashttpresponse 最佳答案

ruby-on-rails - 在 ActiveSupport::Concern 中访问包含类的 protected 常量

在ActiveSupport::Concern上下文中访问包含类的protected常量的最简单方法是什么?示例类:modulePrintableextendActiveSupport::Concernprivatedefprint_constantputsMY_CONSTANTendendclassPrinterincludePrintabledefprintprint_constantendprivateMY_CONSTANT='Hello'.freezeend此解决方案产生错误:NameError:uninitializedconstantPrintable::MY_CONSTA

Ruby 错误 - 未初始化的常量 OpenStruct (NameError)

我正在尝试使用ruby​​的optionparse来解析我的ruby​​脚本的参数。问题是当我像这样运行脚本时bundlerexecruby​​generation.rb--帮助我收到错误“未初始化的常量OpenStruct(NameError)”我相信,因为我正在使用bundleexec运行脚本,所以我不应该收到此错误。我做错了什么。require'optparse'defparse(args)options=OpenStruct.newoptions.dir='../somerepo'opts=OptionParser.newdo|opts|opts.banner="Usage:g

ruby-on-rails - 未初始化的常量 ActionDispatch::Routing::Routes (NameError)

我正在学习clickatell教程,我的代码如下所示。但是我得到了错误uninitializedconstantActionDispatch::Routing::Routes(NameError)from/Library/Ruby/Gems/1.8/gems/actionpack-3.1.1/lib/action_dispatch/routing/route_set.rb:258:in`instance_exec'from/Library/Ruby/Gems/1.8/gems/actionpack-3.1.1/lib/action_dispatch/routing/route_set.

ruby-on-rails - 检查模型是否在 before_save 事件中被修改或创建

我想检查是否正在Rails的before_save回调中创建模型。我还想检查它是否已被修改(更新时)。谢谢 最佳答案 您可以使用new_record?看看你是否有一个全新的对象和changed?查看是否有任何变化:before_save:pancakesdefpancakesifnew_record?#Notinthedatabaseyet.elsifchanged?#Alreadyexistsbutithasunsavedchanges.endend 关于ruby-on-rails-检

ruby-on-rails - 递归修改嵌套哈希中的值

鉴于以下哈希结构,我想遍历该结构并使用“链接”键对所有值进行修改:{"page_id":"12345","link_data":{"message":"testmessage","link":"https://www.example.com","caption":"https://www.example.com","child_attachments":[{"link":"http://www.example.com","name":"test","description":"test","picture":"https://fbcdn-creative-a.akamaihd.net/

ruby - 访问常量

为什么我不能从“A”访问下面的“B”,但可以从主环境访问?moduleA;endA.instance_eval{B=1}B#=>1A::B#=>uninitialized 最佳答案 因为。.....未在类或模块中定义的常量被赋予全局范围。对于常量定义而言,重要的是封闭的词法范围,而不是当前接收者或self的值。 关于ruby-访问常量,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions

ruby-on-rails - Constantize 引发未初始化的常量错误

我正在研究thisprettythornyproblem并决定我可以通过这样做动态创建一个继承自StandardError的类:something="JustForBelow"error_class="#{something}Error".constantizeerror_class=StandardError.new但我遇到了一个非常奇怪的错误(在我看来),它是:UninitializedconstantJustForBelowError我不是在那里初始化它吗?(本质上)当我尝试这个时出现同样的错误:StandardError.const_get"#{something}Error"